 /** 
  * @author Alexandre de Almeida
  */
package f3a.model;

import com.j256.ormlite.field.DataType;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

/**
 * @since 16/09/2013
 * @version 0.1
 * @category ORM Class
 */
@DatabaseTable(tableName="TASK")
public class Task{
	
	@DatabaseField(id = true, columnName = "TASK_ID", dataType = DataType.INTEGER, unique = true,
			allowGeneratedIdInsert = true, canBeNull = false, throwIfNull = true)
	private int task_Id = 0;
	
	/**
	 * this is a method that can be used to access the attribute task_Id for the TASK table
	 * @return the task identifier
	 */
	public int getTask_Id()	{ return task_Id; }
	
	@DatabaseField(id = false, columnName = "TASK_NAME", dataType = DataType.STRING, canBeNull = false)
	private java.lang.String task_Name = f3a.types.String.Empty();
	
	/**
	 * Set method for the task_Name field
	 * @param task_Name is the property that represent the name of the task 
	 */
	public void setTask_Name(java.lang.String task_Name){ this.task_Name = task_Name; }
	
	/**
	 * Get method for the task_Name field
	 * @return the task_Name for the instance of task
	 */
	public java.lang.String getTask_Name(){ return this.task_Name; }
	
	@DatabaseField(id = false,columnName = "TASK_DESCRIPTION", dataType = DataType.STRING, canBeNull = true)
	private java.lang.String task_Description = f3a.types.String.Empty();
	
	/**
	 * Set method for the task_Description field
	 * @param task_Description is the property that represent the name of the task
	 */
	public void setTask_Description(java.lang.String task_Description){ this.task_Description = task_Description; }
	
	/**
	 * Get method for the task_Description field
	 * @return the task_Description for the instance of task
	 */
	public java.lang.String getTask_Description(){ return this.task_Description; }
	
	/**
	 * Void constructor, case the object doesn't exists use this constructor to create a new empty object
	 */
	public Task(){};
	
	/**
	 * 
	 * @param task_Name
	 * @param task_Description
	 */
	public Task(java.lang.String task_Name, java.lang.String task_Description)
	{	
		this.task_Description = task_Description;
		this.task_Name = task_Name;
	}
}
